package com.xidian.zhiancloud.model.workTicket;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

@Data
@TableName("t_fire")
public class FireTicket {
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 多租户id
     */
    private Long CompanyId;

    /**
     * 作业票名称
     */
    private String workName;

    /**
     * 导出类型
     */
    private Integer exportType;

    // 1. 申请人填写部分
    /**
     * 申请单位
     */
    private Long applicantUnitId;

    /**
     * 申请人
     */
    private Long applicantId;

    /**
     * 申请人填写的姓名
     */
    private String applicantName;

    /**
     * 作业证编号。string类型，自动生成，公司id + 年 + 月 + 日 + 部门 + 作业票类型 + 4位数字
     */
    private String workNumber;

    /**
     * 动火作业级别。0.特殊；1.一级；2.二级。
     */
    private Integer workLevel;

    /**
     * 动火地点及作业内容
     */
    private String positionAndContent;

    /**
     * 动火方式。String类型，多选 + 填写。0.电焊:1,气焊:2,切削:3,打磨:4,明火:5,其他_____:0
     */
    private String workType;

    /**
     * 计划作业开始时间
     */
    private Date expectStartTime;

    /**
     * 计划作业结束时间
     */
    private Date expectEndTime;

    /**
     * 涉及的其他特殊作业。由申请人手动输入，有多个，后端存入一个string类型，有跳转功能
     */
    private String relateWorkNum;


    // 2.【动火作业单位负责人】 & 【工艺负责人】签字，以下的推送同时进行。有一个页面，将后端数据显示给相应的【岗位】

    /**
     * 动火作业负责人签字。String类型的url
     */
    private String workDirectorSign;

    /**
     * 动火作业负责人签字时间
     */
    private Date workDirectorTime;

    /**
     * 动火人签字
     */
    private String workerSign;

    /**
     * 动火人签字时间
     */
    private Date workerSignTime;

    /**
     * 危害辨识1。String对象，多选，0.爆炸，1.着火，2.灼伤，3.中毒，4.辐射，5.触电，6.窒息，7.落物，8.淹溺，9.掩埋，10.坠落，11.噪声，12.机械伤害
     */
    private String danger1;

    /**
     * 危害辨识1，作业单位签字
     */
    private String danger1Sign;

    /**
     * 动火负责人签字时间
     */
    private Date danger1Time;

    /**
     * 是否涉及多家属地单位
     */
    private Integer isRelateOtherUnit;

    /**
     * 危害辨识2
     */
    private String danger2;

    /**
     * 危害辨识2，属地工艺负责人签字
     */
    private String danger2Sign;

    /**
     * 工艺负责人签字时间
     */
    private Date danger2Time;

    /**
     * 确认人1签字
     */
    private String measure1Sign;

    /**
     * 确认人2签字
     */
    private String measure2Sign;

    /**
     * 盲板块数
     */
    private Integer blindDiskNumber;

    /**
     * 确认人3签字
     */
    private String measure3Sign;

    /**
     * 确认人4签字
     */
    private String measure4Sign;

    /**
     * 确认人5签字
     */
    private String measure5Sign;

    /**
     * 确认人6签字
     */
    private String measure6Sign;

    /**
     * 确认人7签字
     */
    private String measure7Sign;

    /**
     * 确认人8签字
     */
    private String measure8Sign;

    /**
     * 确认人9签字
     */
    private String measure9Sign;

    /**
     * 确认人10签字
     */
    private String measure10Sign;

    /**
     * 确认人11签字
     */
    private String measure11Sign;

    /**
     * 消防蒸汽带（  ）根
     */
    private Integer fireBeltNumber;

    /**
     * 灭火器（ ）台
     */
    private Integer extinguisherNumber;

    /**
     * 铁锹（ ）把
     */
    private Integer shovelNumber;

    /**
     * 石棉布（ ）块
     */
    private Integer asbestosClothNumber;

    /**
     * 其他安全措施12（工艺负责人）
     */
    private String otherMeasure;

    /**
     * 其他安全措施12编制人签字
     */
    private String otherMeasureEditorSign;

    /**
     * 确认人12签字
     */
    private String otherMeasureSign;


    // 2. 【动火分析】 & 【动火人】

    /**
     * 动火分析1时间。初次分析，开始计时60min
     */
    private Date fireAnalyse1Time;

    /**
     * 动火分析点名称1
     */
    private String fireAnalyse1Name;

    /**
     * 动火分析数据1
     */
    private String fireAnalyse1Data;

    /**
     * 动火分析人1签字
     */
    private String fireAnalyse1Sign;

    /**
     * 动火分析2时间
     */
    private Date fireAnalyse2Time;

    /**
     * 动火分析点名称2
     */
    private String fireAnalyse2Name;

    /**
     * 动火分析数据2
     */
    private String fireAnalyse2Data;

    /**
     * 动火分析人2签字
     */
    private String fireAnalyse2Sign;

    /**
     * 动火分析3时间
     */
    private Date fireAnalyse3Time;

    /**
     * 动火分析点名称3
     */
    private String fireAnalyse3Name;

    /**
     * 动火分析数据3
     */
    private String fireAnalyse3Data;

    /**
     * 动火分析人3签字
     */
    private String fireAnalyse3Sign;

    // 3. 【安全教育】与【监火】
    /**
     * 实施安全教育人签字（安全员或副主任）
     */
    private String safeEducationSign;

    /**
     * 作业单位现场负责人签字
     */
    private String sceneLeadSign;

    /**
     * 属地单位安全员签字
     */
    private String possessionSafeSign;

//    /**
//     * 是否涉及多家属地单位（2）
//     */
//    private Integer isRelateOtherUnit2;

    /**
     * 动火初审人签字（共同签字？？？）
     */
    private String firstCheckSign;

//    /**
//     * 是否涉及多家属地单位（3）
//     */
//    private Integer isRelateOtherUnit3;

    /**
     * 属地监火人签字（多人签字？？？？）(生产单位)
     */
    private String dependentSuperviseSign;

//    /**
//     * 是否涉及多家属地单位（4）
//     */
//    private Integer isRelateOtherUnit4;

    /**
     * 归口管理单位现场负责人签字
     */
    private String centralizeManageLeaderSign;

    /**
     * 作业单位监火人签字
     */
    private String workSuperviseSign;

    // 4. 【申请】
    /**
     * 申请单位负责人（作业单位负责人）签字
     */
    private String applyDirectorSign;

    // 5. 生产单位意见（二级动火终审）
    /**
     * 生产单位意见
     */
    private String productUnitOpinion;

    /**
     * 生产单位签字
     */
    private String productUnitSign;

    /**
     * 生产单位签字时间
     */
    private Date productUnitTime;

    // 6. 安全管理部门意见（一级动火终审）
    /**
     * 安全管理部门意见
     */
    private String safeUnitOpinion;

    /**
     * 安全管理部门签字
     */
    private String safeUnitSign;

    /**
     * 安全管理部门签字时间
     */
    private Date safeUnitTime;

    // 7. 动火审批人意见（特级动火终审）
    /**
     * 动火审批人意见
     */
    private String approveOpinion;

    /**
     * 动火审批人签字
     */
    private String approveSign;

    /**
     * 动火审批人签字时间
     */
    private Date approveTime;

    // 8. 动火前验票。注意时间差
    /**
     *  动火前班长验票意见
     */
    private String reviewBeforeWorkOpinion;

    /**
     * 动火前班长验票签字
     */
    private String reviewBeforeWorkSign;

    /**
     * 动火前班长验票时间
     */
    private Date reviewBeforeWorkTime;

    // 8. 时间由班长填写
    /**
     * 实际作业开始时间
     */
    private Date realStartTime;

    /**
     * 实际作业结束时间
     */
    private Date realEndTime;

    // 9. 完工验收
    /**
     * 完工验收意见
     */
    private String finishCheck1Opinion;

    /**
     * 完工验收签字
     */
    private String finishCheck1Sign;

    /**
     * 完工验收签字时间
     */
    private Date finishCheck1Time;

    /**
     * 完工验收意见
     */
    private String finishCheck2Opinion;

    /**
     * 完工验收签字
     */
    private String finishCheck2Sign;

    /**
     * 完工验收签字时间
     */
    private Date finishCheck2Time;

    /**
     * 该表的创建时间
     */
    private Date createTime;

    /**
     * 该表的更新时间
     */
    private Date updateTime;

    /**
     * 当前步骤。大步骤
     */
    private Integer currentStep;

    /**
     * 操作人id列表
     */
    private String operatorIds;

    /**
     * 可编辑字段列表
     */
    private String editableField;

    /**
     * 上传视频的url
     */
    private String videoUrl;

    /**
     * 申请人是否提交。0表示仍未编辑，1表示完成编辑。
     */
    private Integer isCommit1 = 0;

    /**
     * 分析人是否提交
     */
    private Integer isCommit2 = 0;

    /**
     * 动火人是否提交
     */
    private Integer isCommit3 = 0;

    /**
     * 工艺负责人是否提交
     */
    private Integer isCommit4 = 0;

    /**
     * 动火负责人是否提交
     */
    private Integer isCommit5 = 0;

    /**
     * 监火人（生产单位）是否提交
     */
    private Integer isCommit6 = 0;

    /**
     * 监火人（作业单位）是否提交
     */
    private Integer isCommit7 = 0;

    /**
     * 安全教育实施人是否提交
     */
    private Integer isCommit8 = 0;

    /**
     * 作业单位/归口管理单位负责人
     */
    private Integer isCommit9 = 0;

    /**
     * 动火初审人是否提交
     */
    private Integer isCommit10 = 0;

    /**
     * 二级动火审批人是否提交
     */
    private Integer isCommit11 = 0;

    /**
     * 一级动火审批人是否提交
     */
    private Integer isCommit12 = 0;

    /**
     * 特殊动火审批人是否提交
     */
    private Integer isCommit13 = 0;

    /**
     * 动火前验票人是否提交
     */
    private Integer isCommit14 = 0;

    /**
     * 是否已验收
     */
    private Integer isCommit15 = 0;

    /**
     * 是否已完成
     */
    private Integer isCommit16 = 0;
}
